public class ClsRadio implements ClsIntRadio{
private boolean estado, frecuencia;
private double estacion;
private double estaciongfm[], estaciongam[];
private double am[];
private double fm[];
    
public ClsRadio(){
    //constructor
        estado=(false);
        frecuencia=(false);
        estacion=0;
        estaciongfm = new double[12];
        estaciongam = new double[12];
        am = new double[108];
        fm = new double[100];
        
        for(int i=0;i<=11;i++){
            estaciongfm[i]=88.9;
            estaciongam[i]=530;
        }
        double cont = 530;
        for(int u=0;u<=107;u++){
            am[u]=cont;
            cont=cont+10;
        }
        double cont1 = 88.9;
        for(int u=0;u<=99;u++){
            fm[u]=cont1;
            cont1=cont1+0.2;
        }
        
        
    }
    public void prender(){
        //enciende el redio
        if(estado==false){
            
            estado = true;
            frecuencia = true;
                  
            
        }
    }
    public void apagado(){
        //apaga el radio
        if(estado==true){
           estado = false;
                       
            
        }
    }
    public void cambiodefrecuencia(int frec){
        //cambia la frecuencia true = fm y false = am
        
        if(estado==true){
           if (frec==0){
            frecuencia= false;
           }
           else{
            frecuencia = true;
           }            
            
        }
    }
    public double cambiodeestacion(double est, int dir){
        //cambia la estacion actual
    
        double cont3=0; // variable con el valor a retornar
        
        if(estado==true){ // verifica si esta encendido el radio
            
            if (frecuencia == true){ // Emisoras am
            
                if (dir == 1) {//siguiente
                
                 if (est!=107.9){   
                   for(int u=0;u<=99;u++){
                    if (fm[u]==est){
                        int i = u+1;
                        cont3 = fm[i];
                
                     } 
                
                
                    }
                       
                 }
                 else{//si llega al finar regresa
                 
                     cont3 = 87.9;
                                  
                 }
            
                }
                
                else{//anterior
                    
                 if(est!= 87.9){                    
                   for(int u=0;u<=99;u++){
                    if (fm[u]==est){
                        int i = u-1;
                        cont3 = fm[i];
                
                     } 
                
                
                    }
                
                  } 
                 else{//si llega al finar regresa
                 
                     cont3=107.9;
                     
                 }
                
                
                }
                
                
                
                                          
            } 
            
            else{//emisoras am
            
                if (dir == 1) {//siguiente
                
                 if (est!=1610){   
                   for(int u=0;u<=107;u++){
                    if (am[u]==est){
                        int i = u+1;
                        cont3 = am[i];
                
                     } 
                
                
                    }
                         
                 }
                 else {//si llega al final regresa
                 
                     cont3 = 530;
                 
                 }
            
                }
                
                else{//anterior
                         
                   if (est != 530){
                    
                   for(int u=0;u<=107;u++){
                                
                    if (am[u]==est){
                        int i = u-1;
                        cont3 = am[i];
                
                     } 
                
                
                    }
                   }
                   else{//si llega al final regresa
                   
                       cont3=1610;
                   
                   }
                   
                   
                } 
                                          
            }
            
                   
        }
    estacion = cont3;   
    return cont3;//retorna la emisora
    }
    
    public void guardaremisora(double est, int ident){
        //guarda la emisora en el espacio seleccionado
    
        if(estado==true){
        
            if(frecuencia==true){
            
                estaciongfm[ident] = est;
            
            }
            else{
            
                estaciongam[ident] = est;
            
            }
        
        }
    
    
    
    }
    
       
    public double cargaremisora(int ident){
        //retorna una emisora ya guardada
        double cont4 = 0;
        
        if(estado==true){
        
            if(frecuencia==true){
            
                cont4 = estaciongfm[ident];
            
            }
            else{
            
                cont4 = estaciongam[ident];
            
            }
        
        }
    
    
    return cont4;
    }
    
    
    
    
    
    
    
    
}
